package stubs;

/**
 * Interface for a physical room or room stub.
 */
public interface IPhysicalRoom {
	/**
	 * Tells if the presence switch is open.
	 * @return true if the presence switch is open.
	 */
	public boolean presenceSwitchOpen();
	/**
	 * Tells if the tilted window switch is open.
	 * @return true if the tilted window switch is open.
	 */
	public boolean tiltedWindowSwitchOpen();
	/**
	 * Tells if the closed window switch is open.
	 * @return true if the closed window switch is open.
	 */
	public boolean closedWindowSwitchOpen();
	/**
	 * Tells the window actuator to swing the window.
	 */
	public void swingWindow();
	/**
	 * Tells the window actuator to tilt the window.
	 */
	public void tiltWindow();
	/**
	 * Gets the current room temperature.
	 * @return the current room temperature.
	 */
	public double getTemperature();
	/**
	 * Set the target heater temperature.
	 * @param temperature the target heater temperature.
	 */
	public void setHeaterTarget(double temperature);
	/**
	 * Gets the target heater temperature.
	 * @return the target heater temperature.
	 */
	public double getHeaterTarget();
	/**
	 * Gets the current heater temperature.
	 * @return the current heater temperature.
	 */
	public double getHeaterCurrent();
}
